package com.wy.office.swift.ppt;

import java.io.ByteArrayOutputStream;

import org.apache.poi.xwpf.usermodel.Document;

import com.wy.office.swift.exception.OfficeSwiftException;
import com.wy.office.swift.ppt.model.PPTParamModel;

/**
 * ppt处理接口
 * @author wangyuan
 * @since 2019年4月8日 下午11:36:54
 *
 */
public interface IPPTHandler {
    
    /**
     * 替换ppt文档中的变量，并保存为一个新ppt文档<br/>
     * <br/>
     * @param sourcePathName
     * @param targetPathName
     * @param param
     * @throws Exception
     */
    public void dealOfficePPT(String sourcePathName, String targetPathName, PPTParamModel param) throws OfficeSwiftException;
    
    /**
     * 替换ppt文档中的变量，并保存为一个输出字节流
     * @param sourcePathName
     * @param param
     * @return
     * @throws OfficeSwiftException
     */
    public ByteArrayOutputStream dealOfficePPT(String sourcePathName, PPTParamModel param) throws OfficeSwiftException;
    
    /**
     * 替换ppt文档中的变量
     * @param document
     * @param param
     * @return
     * @throws OfficeSwiftException
     */
    public Document dealOfficePPT(Document document, PPTParamModel param) throws OfficeSwiftException;
}
